home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / dev / c / ExtrasLib.lha / ExtrasLib / Source / GTLIB / SizeOfMX..c < prev   
Encoding:
Text File  |  2000-09-30  |  1.7 KB  |  85 lines

  1.  
  2.  
  3.  
  4.  
  5. GTL_SizeOfMX(struct IBox *Domain, NewGadget *NGad, struct TagItem *TagList)
  6. {
  7.   struct TextFont *font;
  8.   STRPTR *labels;
  9.   LONG  labelcnt, 
  10.         spacing, 
  11.         scaled, 
  12.         tplace;
  13.   
  14.   labels    =GetTagData(GTMX_Labels,       0, TagList)
  15.   labelcnt  =CountStrings(labels);
  16.  
  17.   spacing   =GetTagData(GTMX_Spacing,      0, TagList);
  18.  
  19.   scaled=0;
  20.   tplace=0;
  21.  
  22.   if(GadToolsBase->lib_Version>=39)
  23.   {
  24.     scaled  =(GetTagData(GTMX_Scaled,      0, TagList));
  25.     tplace  =(GetTagData(GTMX_TitlePlace,  0, TagList));
  26.   }
  27.  
  28.   Domain.Width  = 0;
  29.  
  30.   if(labels)
  31.   {
  32.     if(font=OpenDiskFont(NGad->ng_TextAttr))
  33.     {
  34.       while(*labels)
  35.       {
  36.         LONG lablen;
  37.         
  38.         lablen=StrLength( SL_TextFont,    font,
  39.                           SL_String,      *labels,
  40.                           TAG_DONE);
  41.         Domain->Width = max(Domain->Width, lablen);
  42.         labels++;
  43.       }
  44.       CloseFont(font);
  45.     }
  46.   }
  47.   
  48.   Domain->Width += 8 + (scaled ? NGad->ng_Width : 26 );
  49.   Domain->Height = (gd->mx_TA->ta_YSize + spacing) * labelcnt;
  50.   
  51.   /*
  52.   if(tplace)
  53.   {
  54.     switch(tplace)
  55.     {
  56.       case PLACETEXT_ABOVE:
  57.       case PLACETEXT_BELOW:
  58.         {
  59.           LONG ll;
  60.           struct IBox lbox;
  61.           
  62.           ll=StrLength(SL_TextFont,    gd->mx_TF,
  63.                        SL_String,      gd->mx_GadgetText,
  64.                        TAG_DONE));
  65.           lbox.Width    = ll;
  66.           lbox.Height   = gd->mx_TF->tf_YSize;
  67.           lbox.LeftEdge = gd->
  68.           
  69.           
  70.           Domain->Left  = min(Domain->Left, -(ll    
  71.           Domain->Width = max(Domain->Width, ll );
  72.           Domain->Height+= 4 + gd->mx_TF->tf_YSize;
  73.         }
  74.         break;
  75.       case PLAVETEXT_LEFT:
  76.       case PLACETEXT_RIGHT:
  77.         
  78.   }
  79.   */
  80.   
  81.   }
  82.   
  83. }
  84.  
  85.